package com.raft.core.log.snapshot;

import com.raft.core.rpc.message.InstallSnapshotRpc;

/**日志快照写入接口
 * @author zhangsulei
 *
 * @param <T>
 */
public interface SnapshotBuilder<T extends Snapshot> {

    /**追加日志快照内容
     * @param rpc
     */
    void append(InstallSnapshotRpc rpc);

    /**导出日志快照
     * @return
     */
    T build();

    /**关闭日志快照(清理)
     */
    void close();

}
